$(document).ready(function(){   
    //COMPROBACION DEL NAVEGADOR
    var browser=navigator.appName;
    var ver=navigator.appVersion;
    ver.match(/(MSIE)(\s*)([0-9].[0-9]+)/ig);
    ver = RegExp.$3;
    if (browser=="Microsoft Internet Explorer" & ver<=6.0){
        mostrarVentanaModal('#dlg_actualizar_navegador','ventana','browser');
    }
    
    //TOOLTIPTEXT
    $("#link_registrar_usuario").tipsy({
        gravity: 'n', 
        html: true
    });
    $("#link_enviar_password").tipsy({
        gravity: 'n', 
        html: true
    });
    
    //ANIMACION SIDENAV
    $("#bt_container_sidenav_login").hover(function(){
        $(this).stop().animate({
            right: 0
        });  
    }, function(){
        $(this).stop().animate({
            right: -165
        });
    });   
    
    //ANIMACION BOTONES
    $("#link_login_empresa").hover(function(){
        $(this).find("img").attr("src", "WEB-CONTENT/img/btn_empresa_sel.gif");
    }, function(){
        $(this).find("img").attr("src", "WEB-CONTENT/img/btn_empresa.gif");
    });
    
    $("#link_login_alumno-egresado").hover(function(){
        $(this).find("img").attr("src", "WEB-CONTENT/img/btn_alumno_sel.gif");
    }, function(){
        $(this).find("img").attr("src", "WEB-CONTENT/img/btn_alumno.gif");
    });
    
    $(".img_boton").hover(function(){
        $(this).attr("src", "WEB-CONTENT/img/btn_"+$(this).attr("alt")+"_sel.gif");
    }, function(){
        $(this).attr("src", "WEB-CONTENT/img/btn_"+$(this).attr("alt")+".gif");
    }); 
    
        
    //CONSISTENCIA DE LAS CAJAS DE TEXTO
    $("input[type=text]").keypress(function(e){
        var k=e;
        switch ($(this).attr("name")) {
            case "texto":
                k = soloTexto(e);
                break;
            case "numero":
                k = soloNumeros(e);
                break;
            default:
                break;
        }
        return k;
    });
    
    $("input[type=text]").blur(function(){
        if($(this).val().isEmpty()){
            $(this).css("border-color", "#fe5f5f");
        }else{
            $(this).css("border-color", "#BEBEBE");
        }
    });
    
    $("#txt_login_password").keypress(function(e){
        if(e.which == 13){
            validarlogin();
        } 
    });

    //LLAMADA A FUNCIONES INICIALES
    bindingNegocio();
    bindingCargo();
    refrescarDepartamento();
    
    if($("body").find("#bt_container_page").attr("class") != ""){
        mostrarAlerta("alerta", $("body").find("#bt_container_page").attr("class"));
    }
});

/*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

function validarlogin(){
    $input   = $("#txt_login_usuario_cu");
    var tamano  = 0;
    
    if(!$("#txt_login_usuario_cu").val().isEmpty()){
        $input   = $("#txt_login_usuario_cu");
        tamano  = 10;
    }else if(!$("#txt_login_usuario_ruc").val().isEmpty()){
        $input   = $("#txt_login_usuario_ruc");
        tamano  = 11;
    }
    
    var codigo      = $input.val();
    var password    = $("#txt_login_password").val();
    
    if(codigo.isEmpty()){
        $("span.msj_error").html("Ingrese su Codigo");
        $input.focus().select();
    }else if(password.isEmpty()){
        $("span.msj_error").html("Ingrese su Password");
        $("#txt_login_password").focus().select();
    }else if(codigo.length != tamano){
        $("span.msj_error").html("Codigo Invalido");
        $input.focus().select();
    }else{
        $.ajax({
            type    : "POST",
            url     : "ValidarLogin",
            data    : "opt="+par_sis[61]+"&_DRTR_WB_LGN="+true+"&cod="+codigo+"&pwd="+password,
            success : function(dato){
                location.href=dato;
            }
        });
    }    
}

/*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

function cargarNav(id, name){
    var main = $("body").attr("class");
    var navSelect = main.substring(18, main.length);
    var idNavSelect = $("body").attr("id");
    var url = par_sis[0]+par_sis[11]+par_sis[41]+par_sis[12]+id;
    var html = "";
    
    if(idNavSelect == 29){
        cargarSidenav(idNavSelect, id, name);  
    }else{
        if(idNavSelect != 0){
            $("#link_"+navSelect).addClass("selected");
            $("#link_"+navSelect).children("a").addClass("selected");
            cargarSidenav(idNavSelect, id, name);
        }else{
            $("#link_"+navSelect).addClass("selected"); 
            $("#link_"+navSelect).children("a").addClass("selected");
            $("#bt_container_sidenav").hide();
        }
    }    
}

function cargarSidenav(id, idParent, nameParent){
    var html = "<ul>";
    var url = par_sis[0]+par_sis[11]+par_sis[42]+par_sis[12]+idParent+par_sis[13]+id;
    
    $.getJSON(
        url,
        function(data) {
            if(data==null){
                $("#bt_container_sidenav").hide();
            }else{
                $.each(data, function(key, val) {
                    html = html + "<li id='sidelink_"+nameParent+"_"+val["url"]+"'><a href='#dlg_"+nameParent+"_"+val["url"]+"' onclick=mostrarVentanaModal('#dlg_"+nameParent+"_"+val["url"]+"','ventana','"+nameParent+"')><img src='WEB-CONTENT/img/iconos/sl-"+val["url"]+".gif'/><span>"+val["nombre"]+"</span></a></li>";
                });
                html = html + "</ul>";
                $("#bt_container_sidenav_login").html(html);
            }
        });
}

/*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

function mostrarLogin(dato){
    $("#txt_login_usuario_cu").val("").css("border-color", "#BEBEBE");
    $("#txt_login_usuario_ruc").val("").css("border-color", "#BEBEBE");
    $("#txt_login_password").val("").css("border-color", "#BEBEBE");
    $("#txt_login_email").val("").css("border-color", "#BEBEBE");
    $("span.msj_error").html("");
    
    $("#form_registro_empresa").css({
        "display":"none"
    });
    $("#form_registro_alumno-egresado").css({
        "display":"none"
    });
    $("#bt_container_main_login_panel").removeAttr("style");
    
    switch (dato) {        
        case "empresa":
            $("#link_login_empresa").addClass("activo");            
            $("#bt_container_main_login_panel").css({
                "right":"100%"
            });           
            $("#form_login_lbl_usuario").html("RUC :");
            $("#txt_login_usuario_cu").hide();
            $("#txt_login_usuario_ruc").show();
            $("#bt_container_main_login_alumno-egresado").fadeOut(300, function(){
                $("#bt_container_main_login_panel").animate({
                    right:"50%"
                }, 300, function(){
                    $("#txt_login_usuario_ruc").focus().select();
                });
            });
            break;
        case "alumno-egresado":
            $("#link_login_alumno-egresado").addClass("activo");
            $("#bt_container_main_login_panel").css({
                "left":"100%"
            });
            $("#form_login_lbl_usuario").html("CU :");
            $("#txt_login_usuario_cu").show();
            $("#txt_login_usuario_ruc").hide();
            $("#bt_container_main_login_empresa").fadeOut(300, function(){
                $("#bt_container_main_login_panel").animate({
                    left:"50%"
                }, 300, function(){
                    $("#txt_login_usuario_cu").focus().select();
                });
            });
            break;
    }
}

function mostrarEnviarPass(){
    $("#form_login_txt_msj").html("");
    $("#form_login").fadeOut(300, function(){
        $("#form_enviarpass").fadeIn(300);
        $("#form_enviarpass .cajatexto").focus().val("");       
    });
}

function mostrarRegistro(name){
    $("#slt_giro_negocio option:first").attr("selected","selected");
    $("#slt_departamento option:first").attr("selected", "selected");
    $("#slt_provincia option:first").attr("selected", "selected");
    $("#slt_distrito option:first").attr("selected", "selected");
    $("#slt_cargo_empresa option:first").attr("selected", "selected");
    $("#slt_tipo_persona option:first").attr("selected", "selected");
    $("#slt_tipo_especialidad option:first").attr("selected", "selected");    
    $("table.container_registro").find("input[type=text]").css("border-color", "#BEBEBE").val("");
    $("span.msj_error").html("");
    
    switch (name) {
        case "alumno-egresado":
            if($("#link_login_alumno-egresado").attr("class")=="activo"){
                $("#bt_container_main_login_panel").css({
                    "left":"100%"
                });
                $("#link_login_alumno-egresado").removeClass("activo");
            }
            $("#bt_container_main_login_empresa").hide();
            $("#form_registro_alumno-egresado").fadeIn(function(){
                $("#slt_tipo_persona").focus()
            });
            break;
        case "empresa":
            if($("#link_login_empresa").attr("class")=="activo"){
                $("#bt_container_main_login_panel").css({
                    "right":"100%"
                });
                $("#link_login_empresa").removeClass("activo");
            }
            $("#bt_container_main_login_alumno-egresado").hide();
            $("#form_registro_empresa").fadeIn(function(){
                $("#form_registro_empresa input[type=text]:first").focus()
            });  
            break;
    }
}

/*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

function cerrarLogin(){
    var activo = $("#link_login_empresa").attr("class");
    switch (activo) {        
        case "activo":
            $("#bt_container_main_login_panel").animate({
                right:"100%"
            },300, function(){
                $(this).hide(0);
                $("#bt_container_main_login_alumno-egresado").fadeIn(300);
            });
            $("#link_login_empresa").removeClass("activo");
            break;
        default:
            $("#bt_container_main_login_panel").animate({
                left:"100%"
            },300, function(){
                $(this).hide(0);
                $("#bt_container_main_login_empresa").fadeIn(300);
            });
            $("#link_login_alumno-egresado").removeClass("activo");
            break;
    }
}

function cerrarEnviarPass(){
    $("#form_enviarpass").fadeOut(300, function(){
        $("#form_login .cajatexto").val("");
        $("#form_login").fadeIn(300, function(){
            $("#form_login .cajatexto:first").focus();
        });
    });
}

function cerrarRegistro(name){
    switch (name) {
        case "alumno-egresado":
            $("#form_registro_alumno-egresado").hide();
            $("#bt_container_main_login_empresa").fadeIn();
            break;
        case "empresa":
            $("#form_registro_empresa").hide();
            $("#bt_container_main_login_alumno-egresado").fadeIn();   
            break;
    }
}

/*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

function refrescarDepartamento(){
    var slt_depart="";
    var url = par_sis[1]+par_sis[11]+par_sis[21];
    $.getJSON(
        url,
        function(data) {
            $.each(data, function(key, val) {
                slt_depart = slt_depart + "<option value='"+val["cod_depart"]+"'>"+val["nom_depart"]+"</option>";
            });
            $("#slt_departamento").append(slt_depart);            
        });
}

function refrescarProvincia(dato){
    var id_depart = dato[dato.selectedIndex].value;    
    var slt_prov = "<option selected>Selecciona";
    var url = par_sis[1]+par_sis[11]+par_sis[24]+par_sis[14]+id_depart;
    
    $.getJSON(
        url,
        function(data) {
            $.each(data, function(key, val) {
                slt_prov = slt_prov + "<option value='"+val["cod_prov"]+"'>"+val["nom_prov"]+"</option>";
            });
            $("#slt_provincia").html(slt_prov);
            $("#slt_provincia").effect("pulsate", {
                times:2
            }, 100);
        });
}

function refrescarDistrito(dato){
    var id_prov = dato[dato.selectedIndex].value;    
    var slt_distrit = "<option selected>Selecciona";
    var url = par_sis[1]+par_sis[11]+par_sis[27]+par_sis[14]+id_prov;
    
    $.getJSON(
        url,
        function(data) {
            $.each(data, function(key, val) {
                slt_distrit = slt_distrit + "<option value='"+val["cod_distrit"]+"'>"+val["nom_distrit"]+"</option>";
            });
            $("#slt_distrito").html(slt_distrit);
            $("#slt_distrito").effect("pulsate", {
                times:2
            }, 100);
        });
}

/*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

function bindingNegocio(cod){
    var slt_giro="";
    var url = par_sis[2]+par_sis[11]+par_sis[29];
    $.getJSON(
        url,
        function(data) {
            $.each(data, function(key, val) {
                if(cod != null & val["cod"] == cod){
                    slt_giro = slt_giro + "<option value='"+val["cod"]+"' selected>"+val["descripcion"]+"</option>";
                } else{
                    slt_giro = slt_giro + "<option value='"+val["cod"]+"'>"+val["descripcion"]+"</option>";
                }
            });
            $("#slt_giro_negocio").append(slt_giro);
        });
}

function bindingCargo(cod){
    var slt_cargo="";
    var url = par_sis[2]+par_sis[11]+par_sis[30];
    $.getJSON(
        url,
        function(data) {
            $.each(data, function(key, val) {
                if(cod != null & val["cod"] == cod){
                    slt_cargo = slt_cargo + "<option value='"+val["cod"]+"' selected>"+val["descripcion"]+"</option>";
                } else{
                    slt_cargo = slt_cargo + "<option value='"+val["cod"]+"'>"+val["descripcion"]+"</option>";
                }
            });
            $("#slt_cargo_empresa").append(slt_cargo);
        });
}

/*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

function enviarRegistro(){
    var cont = 0;
    var formulario = "#form_registro_empresa";
    $(formulario+" input[type=text]").each(function(){
        if($(this).val()==""){
            cont++;
        }        
        if(!$("#txt_empresa_email_encargado").val().isEmail()){
            cont++;
        }
        if(!$("#txt_empresa_ruc").val().isNumber("ruc")){
            cont++;
        }
        if(!$("#txt_empresa_dni_encargado").val().isNumber("dni")){
            cont++;
        }
    });
    if($("#slt_giro_negocio").val() == "Selecciona" | $("#slt_departamento").val() == "Selecciona" | $("#slt_provincia").val() == "Selecciona" | $("#slt_distrito").val() == "Selecciona" | $("#slt_cargo_empresa").val() == "Selecciona"){
        cont++;
    }
    
    if(cont == 0){
        $(formulario).find("spn_loading").show();
        var raz = $(formulario).find("#txt_empresa_razon").val();
        var ruc = $(formulario).find("#txt_empresa_ruc").val();    
        var dst = $(formulario).find("#slt_distrito").val();
        var gir = $(formulario).find("#slt_giro_negocio").val();
        var dsc = "";
        var dir = $(formulario).find("#txt_empresa_direccion").val();
        var ref = "";
        var tlf = $(formulario).find("#txt_empresa_telefono").val();
        var web = $(formulario).find("#txt_empresa_pagina").val();

        var dni = $(formulario).find("#txt_empresa_dni_responsable").val();
        var app = $(formulario).find("#txt_empresa_apellido_paterno_responsable").val();
        var apm = $(formulario).find("#txt_empresa_apellido_materno_responsable").val();
        var nom = $(formulario).find("#txt_empresa_nombre_responsable").val();
        var car = $(formulario).find("#slt_cargo_empresa").val();
        var eml = $(formulario).find("#txt_empresa_email_responsable").val();
        
        var url = par_sis[2]+par_sis[11]+par_sis[113];        
        $.ajax({
            type: "POST",
            url : url,
            data : "razon="+raz+"&ruc="+ruc+"&dist="+dst+"&gir="+gir+"&descrip="+dsc+"&dir="+dir+"&ref="+ref+"&tel="+tlf+"&pag="+web+"&dni="+dni+"&p_pat="+app+"&p_mat="+apm+"&nomb="+nom+"&carg="+car+"&mail="+eml,
            dataType : "json",
            success : function(data){
                $(formulario).find("spn_loading").hide();
                $(formulario).find("a.boton_cerrar").click();
                if(data.datos.cod == "1"){
                    mostrarAlerta('exito',data.datos.des);
                }else{
                    mostrarAlerta('alerta',data.datos.des);
                }
            }
        });
    } else{
        $(formulario).find("span.msj_error").html("Todos los datos los necesarios.");
    }
    
}

function validarRegistroAlumno(){    
    var inputs      = 0;
    var input_error = "";
    var selects     = 0;
    var select_error= "";
    var formulario  = "#form_registro_alumno-egresado";
    
    $(formulario+" input[type=text]").each(function(){
        if($(this).val()==""){
            inputs++;
        }
    });
    
    if($("#slt_tipo_persona").val() == "Selecciona"){
        select_error = "persona";
        selects++;        
    } else if($("#slt_tipo_especialidad").val() == "Selecciona"){
        select_error = "especialidad";
        selects++;
    }
    
    if(!$("#txt_alumno-egresado_codigo").val().isNumber("cu")){
        input_error = "codigo";
    }else if(!$("#txt_alumno-egresado_dni").val().isNumber("dni")){
        input_error = "dni";
    }else if(!$("#txt_alumno-egresado_mail").val().isEmail()){
        input_error = "mail";
    }
    
    if(inputs > 0 | selects > 0 | input_error != ""){
        if(inputs == 0 & selects > 0){
            $(formulario).find("span.msj_error").html("Seleccione el tipo de "+select_error+".");
            $(formulario).find("#slt_tipo_"+select_error).focus().select();
        }else if(inputs == 0 & input_error != ""){
            $(formulario).find("span.msj_error").html(input_error+" invalido.");
            $(formulario).find("#txt_alumno-egresado_"+input_error).focus().select();
        }else{
            $(formulario+" span.msj_error").html("Todos los campos son necesarios.");
        }
    } else{
        $(formulario+" span.msj_error").html("");
        mostrarVentanaModal("#dlg_confirmar_registro_alumno-egresado","registro",'registro');
        $ventanaModal   = $("div.modalBox");
        $ventanaModal.find("#nombre").html($(formulario).find("#txt_alumno-egresado_nombres").val());
        $ventanaModal.find("#paterno").html($(formulario).find("#txt_alumno-egresado_paterno").val());
        $ventanaModal.find("#materno").html($(formulario).find("#txt_alumno-egresado_materno").val());
        $ventanaModal.find("#tipo_persona").html($(formulario).find("#slt_tipo_persona option:selected").html());        
        $ventanaModal.find("#codigo").html($(formulario).find("#txt_alumno-egresado_codigo").val());
        $ventanaModal.find("#especialidad").html($(formulario).find("#slt_tipo_especialidad option:selected").html());
    }
}

function enviarRegistroAlumno(){
    $ventanaModal   = $("div.modalBox");
    $ventanaModal.find("span.spn_loading").show();
    $ventanaModal.find("#btn_aceptar").attr("disabled", true);
    $ventanaModal.find("#btn_cancelar").attr("disabled", true);
    
    var formulario  = "#form_registro_alumno-egresado";    
    var cod = $(formulario).find("#txt_alumno-egresado_codigo").val();
    var nom = $(formulario).find("#txt_alumno-egresado_nombres").val();
    var pat = $(formulario).find("#txt_alumno-egresado_paterno").val();
    var mat = $(formulario).find("#txt_alumno-egresado_materno").val();
    var dni = $(formulario).find("#txt_alumno-egresado_dni").val();
    var cel = $(formulario).find("#txt_alumno-egresado_telefono").val();
    var ema = $(formulario).find("#txt_alumno-egresado_mail").val();
    var dir = $(formulario).find("#txt_alumno-egresado_direccion").val();
    var esc = $(formulario).find("#slt_tipo_especialidad").val();
    var tip = $(formulario).find("#slt_tipo_persona").val();  
    
    $(formulario).find("a.boton_cerrar").click();
    var url = par_sis[0]+par_sis[11]+par_sis[112];
    alert(url);
    $.ajax({
        type: "POST",
        url : url,
        data : "dni="+dni+"&nmb="+nom+"&ape="+pat+"-"+mat+"&direc="+dir+"&email="+ema+"&fno="+cel+"&cod_un="+cod+"&escu="+esc+"&cod_tp="+tip,
        dataType : "json",
        success : function(data){
            $ventanaModal.find("span.spn_loading").hide();
            $ventanaModal.find("#btn_aceptar").attr("disabled", false);
            $ventanaModal.find("#btn_cancelar").attr("disabled", false);
            $ventanaModal.find("a.cerrar-link").click();
            if(data.datos.cod == "1"){
                mostrarAlerta('exito',data.datos.des);
            }else{
                mostrarAlerta('alerta',data.datos.des);
            }
        }
    });
}

function cerrarRegistroAlumno(){
    $("div.modalBox").find("a.cerrar-link").click();
}

/*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

function soloTexto(e) {
    var tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8 | tecla==0) return e;
    var patron =/[A-Za-zñÑ\sáéíóú]/;
    var te = String.fromCharCode(tecla);
    return patron.test(te);
} 

function soloNumeros(e) {
    var tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8 | tecla==0) return e;
    var patron =/\d/;
    var te = String.fromCharCode(tecla);
    return patron.test(te);
}

String.prototype.isEmpty = function(){
    if(this.trim()=="")
        return true
    return false;
}

String.prototype.trim = function(){
    return this.replace(/^\s+|\s+$/g, "");
}

String.prototype.isNumber = function(o){
    if(/^[0-9]+$/.test(this)){
        switch (o) {
            case "cu":
                if(this.length == 10)
                    return true
                return false
                break;
            case "ruc":
                if(this.length == 11)
                    return true
                return false
                break;
            case "dni":
                if(this.length == 8)
                    return true
                return false
                break;
        }        
    }else{
        return false;
    }
}

String.prototype.isEmail = function(){
    if(/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/.test(this))
        return true;
    return false;
}

jQuery.extend(
  jQuery.expr[ ":" ], 
  {estavisible : "(jQuery(a).is(':visible') && jQuery(a).parents(':hidden').length == 0)"}
);